package com.aos.service.role;

import com.aos.dto.parameters.RoleParameter;
import com.aos.entity.Role;
import com.aos.util.Result;

import java.util.Map;

/**
 * @ClassName RoleService
 * @Description:角色接口
 * @Author wumingwang
 * @Date 2018/9/9 17:39
 * @Version 1.0
 */
public interface RoleService {

    /**
     * 分页查询角色
     * @param map
     * @return
     */
    Result queryByPage(Map<String,Object> map);

    /**
     * 新增角色
     * @param roleParameter
     * @return
     */
    Result addRole(RoleParameter roleParameter);

    /**
     * 删除角色
     * @param id
     * @return
     */
    Result deleteById(Long id);

    /**
     * 编辑角色
     * @param roleParameter
     * @return
     */
    Result updateRole(RoleParameter roleParameter);

    /**
     * 查询角色详情
     * @param id
     * @return
     */
    Result queryDetails(Long id);

    /**
     * 查询应用下的所有角色
     * @param appId
     * @param userId
     * @return
     */
    Result queryListByAppId(Long appId,Long userId);

    /**
     * 根据应用code新增角色
     * @param roleParameter
     * @return
     */
    Result addRoleByAppCode(RoleParameter roleParameter);

    /**
     * 根据应用code查询角色列表
     * @param appCode
     * @param userId
     * @return
     */
    Result queryListByAppCode(String appCode, Long userId);
}
